﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using CapaNegocio;
using Entidades;


namespace CapaPresentacion
{
    public partial class MantenimientoClientes : System.Web.UI.Page
    {
        Cliente c = new Cliente();
        List<Cliente> lista = new List<Cliente>();
        ClienteNE cne = new ClienteNE();

       static bool operacion;

        public void cargarClientes()
        {
            lista = cne.listarClientes();
            gvClientes.DataSource = lista;
            gvClientes.DataBind();
        
        }

        public void asignarCliente()
        {
            c.IdCliente = int.Parse(txtIdCliente.Text);
            c.Nombres = txtNombre.Text;
            c.Apellidos = txtApellido.Text;
            c.Direccion = txtDireccion.Text;
            c.Telefono = txtTelefono.Text;
            c.DNI = txtDNI.Text;
            c.Email = txtEmail.Text;
            c.Usuario = txtUsuario.Text;
            c.Clave = txtClave.Text;
        }

        public string nuevoCliente()
        {
            string rpta = "";
            asignarCliente();
            rpta = cne.insertarCliente(c);
            return rpta;

        }

        public string actualizarCliente()
        {
            string rpta = "";
            asignarCliente();
            rpta = cne.actualizarCliente(c);
            return rpta;
        
        }

        public void buscarCliente(int id)
        {                        
                Cliente cli = new Cliente();
                cli = cne.buscarClienteById(id);
                txtIdCliente.Text = cli.IdCliente.ToString();
                txtNombre.Text = cli.Nombres;
                txtApellido.Text = cli.Apellidos;
                txtDireccion.Text = cli.Direccion;
                txtTelefono.Text = cli.Telefono;
                txtDNI.Text = cli.DNI;
                txtEmail.Text = cli.Email;
                txtUsuario.Text = cli.Usuario;
                txtClave.Text = cli.Clave;                      
        
        }

        public void limpiarCliente()
        {
            txtIdCliente.Text = "";
            txtNombre.Text = "";
            txtApellido.Text = "";
            txtDireccion.Text = "";
            txtTelefono.Text = "";
            txtDNI.Text = "";
            txtEmail.Text = "";
            txtUsuario.Text = "";
            txtClave.Text = "";
        
        }

        public void habilitarEntradas(bool estado)
        {
            txtIdCliente.Enabled = estado;
            txtNombre.Enabled = estado;
            txtApellido.Enabled = estado;
            txtDireccion.Enabled = estado;
            txtTelefono.Enabled = estado;
            txtDNI.Enabled = estado;
            txtEmail.Enabled = estado;
            txtUsuario.Enabled = estado;
            txtClave.Enabled = estado;
        }

        protected void Page_Load(object sender, EventArgs e)
        {
            if (Page.IsPostBack==false)
            {
                cargarClientes();
                buscarCliente(1);
            }

        }

        protected void btnNuevo_Click(object sender, ImageClickEventArgs e)
        {
            limpiarCliente();
            txtIdCliente.Text = cne.codCliente().ToString();
            operacion = true;
        }



        protected void btnGrabar_Click(object sender, ImageClickEventArgs e)
        {
            string rpta = "";
            if (operacion==true)
            {
               rpta= nuevoCliente();
            }
            else
            {
               rpta= actualizarCliente();
            }
           
            Response.Redirect("/MantenimientoClientes.aspx");
        }

        protected void btnBuscar_Click(object sender, ImageClickEventArgs e)
        {
            buscarCliente(int.Parse(txtIdCliente.Text));
            operacion = false;
        }

        protected void btneliminar_Click(object sender, ImageClickEventArgs e)
        {
            string rpta = null;
            rpta = cne.eliminarCliente(int.Parse(txtIdCliente.Text));
            if (rpta=="OK")
            {
                Response.Redirect("/MantenimientoClientes.aspx");
            }
        }
    }
}
